System host platforms, for example, computing and communication platforms, may include multiple sub-systems or chips. These subsystems may include read only memory (e.g., ROM-based chips) to store software, firmware, data, etc., that may be used to boot up the subsystem and/or for any associated operations of that subsystem. Occasionally, updates to the ROM contents are required, for example to apply patches to the software or firmware to provide bug fixes or new features, or to adjust parameters. Patch downloads may be applied by the host to the chips as part of the boot up process for the chips. Typically, the host sends commands to the chip via some physical transport mechanism, where each command is associated with a packet of download patch content.
Some systems require a secure boot download, where each packet of the patch, as well as the entire patch, may be verified through the use of one or more encryption algorithms Because packets may be transmitted out of sequence and/or retransmitted multiple times, depending on conditions of the physical transport mechanism, the encryption calculations generally cannot be performed until the entire patch is downloaded, which is relatively inefficient.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art.